package com.yuanheng100.ems4j.api;


import java.util.List;

import com.yuanheng100.ems4j.model.Ems4jMenu;

/**
 * Created by wangguangshuo on 2016/12/19.
 */
public interface IMenuService
{

    /**
     * 查询指定角色所拥有的菜单
     * @param appId 应用id。必填。
     * @param roleId 如果为0，则返回此app所有的菜单
     * @return
     */
    public List<Ems4jMenu> getMenuListByRole(int appId, int roleId);

    /**
     * 添加菜单或者权限
     * menu中需要设置appId属性，不能为空
     * @param menu 返回当前添加记录的主键，如果添加失败返回null
     * @return 结果码
     */
    public int addMenu(Ems4jMenu menu);

    /**
     * 修改菜单（权限）信息
     * menu参数中需要设置appId属性，不能为空
     * @param menu
     * @return
     */
    public int updateMenu(Ems4jMenu menu);

    /**
     * 给角色设置权限、菜单
     * @param menuId
     * @param roleId
     * @return
     */
    public int addMenuToRole(int menuId, int roleId);
    
    /**
     * 移除某个角色所拥有的菜单
     * @param menuId
     * @param roleId
     * @return
     */
    public int removeMenuFromRole(int menuId, int roleId);
    
    /**
     * 删除一个菜单
     * @param menuId
     * @return
     */
    public int deleteMenu(int menuId);
}
